Node express 서버 배포 패키지

✒️ 2025-05-26 14:47 내용 수정

Node.js 교과서 개정 3판 내용 정리



1. cross-env

process.env를 동적으로 변경할 수 있는 패키지

npm install cross-env
{
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "server": "node ./server/server.js",
    "client": "npm start --prefix client",
    "dev": "concurrently \"npm run server\" \"npm run client\"",
    "start": "cross-env NODE_ENV=production start ./server/server.js"
  },
  // 생략
}

2. sanitize-html

XSS 공격을 막기 위한 패키지


3. csurf

CSRF 공격을 막기 위한 패키지


4. pm2

서버 운영을 위한 패키지로, 서버에 에러가 생겨 꺼졌을 때 재실행 해주고, 멀티 프로세싱을 지원


5. winston

실제 서버 운영 시 console.log와 console.error를 대체하는 모듈


6. helmet, hpp

Express 취약점 보완 middleware

npm install helmet hpp
// server.js
const helmet = require('helmet');
const hpp = require('hpp');

if (process.env.NODE_ENV === 'production') {
	app.use(helmet()); // 기본 설정 사용

	app.use(hpp()); // 다른 middleware와 route가 이 구문 뒤에 오는 것이 좋음
}